Micron Document
<!DOCTYPE html>
<html class="client-nojs skin-theme-clientpref-os citizen-feature-autohide-navigation-clientpref-1 citizen-feature-image-dimming-clientpref-0 citizen-feature-pure-black-clientpref-0 citizen-feature-custom-font-size-clientpref-standard citizen-feature-custom-width-clientpref-standard citizen-feature-performance-mode-clientpref-1 citizen-header-position-left citizen-header-position-mobile-bottom" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>rngit</title>
<script id="mwoffliner-jsConfigVars">
document.documentElement.classList.replace('client-nojs', 'client-js')
RLCONF = {"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Rngit","wgTitle":"Rngit","wgCurRevisionId":3336,"wgRevisionId":0,"wgArticleId":82,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Utilities"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Rngit","wgRelevantArticleId":82,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"all","wgConfirmEditCaptchaNeededForGenericEdit":false,"wgMFDisplayWikibaseDescriptions":{"search":false,"nearby":false,"watchlist":false,"tagline":false},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"zimRelativeFilePath":"./"}
RLSTATE = {"user.options":"loading","site.styles":"ready","noscript":"ready","skins.citizen.styles":"ready","skins.citizen.codex.styles":"ready","skins.citizen.icons":"ready","ext.cite.styles":"ready","jquery.makeCollapsible.styles":"ready"}
RLPAGEMODULES = ["jquery","mediawiki.base","mediawiki.page.ready","ext.cite.ux-enhancements","jquery.makeCollapsible"]
;(RLQ = window.RLQ || []).push(function () {
mw.config.set(RLCONF)
mw.loader.state(RLSTATE)
mw.loader.load(RLPAGEMODULES)
;(mw.loader.impl || mw.loader.implement)(function () {
return [
'user.options@12s5i',
function ($, jQuery, require, module) {
mw.user.tokens.set({ patrolToken: '+\\', watchToken: '+\\', csrfToken: '+\\' })
},
]
})
})
</script>

<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://reticulum.miraheze.org/wiki/Rngit"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/jquery.makeCollapsible.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.citizen.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.citizen.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.citizen.styles.css" rel="stylesheet" type="text/css"> <script async="" src="./_mw_/startup.js"></script>
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<noscript><link href="./_mw_/noscript.css" rel="stylesheet" type="text/css"/></noscript>
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<script src="./_res_/script.js"></script>
</head>

<body class="mwoffliner-fallback mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Rngit rootpage-Rngit skin-citizen action-view skin--responsive">
<div id="content" class="mw-body" role="main">
<a id="top"></a>
<h1 id="firstHeading" class="firstHeading mw-first-heading">rngit</h1>
<div id="bodyContent">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><dl><dd>Manual: <span class="manual-link" title="Manual:The rngit Utility"><span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/using.html#the-rngit-utility">The rngit Utility</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/using.md|anchor=the-rngit-utility The rngit Utility]</span></span></span></dd></dl>
<p><b>rngit</b> is a utility bundled with <a href="RNS" title="RNS">RNS</a> that provides full <a href="https://en.wikipedia.org/wiki/Git" class="extiw external" title="wikipedia:Git">Git</a> repository hosting and interaction over <a href="Reticulum_Protocol" title="Reticulum Protocol">Reticulum</a>, including <a href="https://en.wikipedia.org/wiki/Task_management" class="extiw external" title="wikipedia:Task management">task management</a>, release distribution and <a href="NomadNet" title="NomadNet">NomadNet</a> project pages.
</p><p>It consists of the <code>rngit</code> <a href="https://en.wikipedia.org/wiki/Command-line_interface" class="extiw external" title="wikipedia:Command-line interface">CLI</a> program for hosting and managing repositories, and the <code>git-remote-rns</code> <a rel="nofollow" class="external text" href="https://git-scm.com/docs/gitremote-helpers">remote helper</a> that enables Git to communicate with <code>rngit</code> nodes. Once installed, it is possible to interact with Git repositories over Reticulum using the <code>rns://</code> URI scheme.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>

<div class="mw-heading mw-heading2"><h2 id="Work_documents">Work documents</h2></div>
<p>Rather than a traditional issue queue, <code>rngit</code> provides a work document management system (<a rel="nofollow" class="external text" href="https://reticulum.network/manual/git.html#work-documents">docs</a>) for tracking tasks, investigations, issues and progress related to repositories. Users may be granted permission to create and push work document proposals over the network.
</p>
<div class="mw-heading mw-heading2"><h2 id="Repository_structure">Repository structure</h2></div>
<p>Repositories are organized into groups, each group being a directory containing <i>bare</i> Git repositories. A bare repository can be obtained with <code class="selectable" tabindex="0">git clone --bare <i>&lt;URL&gt;</i></code>. Locations and permissions of groups may be configured in rngit's configuration file.
</p>
<div class="mw-heading mw-heading2"><h2 id="Subcommands">Subcommands</h2></div>
<ul><li><code class="selectable" tabindex="0">rngit create</code> (<span class="manual-link" title="Manual:"><span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/git.html#creating-empty-repositories">manual</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/git.md|anchor=creating-empty-repositories manual]</span></span></span>)</li>
<li><code class="selectable" tabindex="0">rngit fork</code> (<span class="manual-link" title="Manual:"><span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/git.html#forking-repositories">manual</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/git.md|anchor=forking-repositories manual]</span></span></span>)</li>
<li><code class="selectable" tabindex="0">rngit mirror</code> (<span class="manual-link" title="Manual:"><span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/git.html#mirroring-repositories">manual</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/git.md|anchor=mirroring-repositories manual]</span></span></span>)</li>
<li><code class="selectable" tabindex="0">rngit perms</code> (<span class="manual-link" title="Manual:"><span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/git.html#remote-permission-management">manual</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/git.md|anchor=remote-permission-management manual]</span></span></span>)</li>
<li><code class="selectable" tabindex="0">rngit release</code> (<span class="manual-link" title="Manual:"><span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/git.html#release-management">manual</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/git.md|anchor=release-management manual]</span></span></span>)</li>
<li><code class="selectable" tabindex="0">rngit sync</code> (<span class="manual-link" title="Manual:"><span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/git.html#manual-synchronization">manual</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/git.md|anchor=manual-synchronization manual]</span></span></span>)</li>
<li><code class="selectable" tabindex="0">rngit work</code> (<span class="manual-link" title="Manual:"><span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/git.html#work-documents">manual</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/git.md|anchor=work-documents manual]</span></span></span>)</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Tips_and_tricks">Tips and tricks</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Install/update_Python_packages"><span id="Install.2Fupdate_Python_packages"></span>Install/update Python packages</h3></div>
<p>It's possible to check, fetch, verify<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> and install/update Python packages released as wheels as a one-liner:
</p>
<pre>rngit release rns://7649a50d84610232d1416b41d2896aff/reticulum/reticulum fetch "latest:rns-*.whl" &amp;&amp; pip install ./rns-*.whl
</pre>
<p>Installing Python packages with rngit is more secure than using <code>pip install</code>, as <code>pip</code> doesn't verify releases or check signatures when installing from <a rel="nofollow" class="external text" href="https://pypi.org/project/rns">PyPi</a>.
</p>
<div class="mw-heading mw-heading4"><h4 id="pip-rns">pip-rns</h4></div>
<p>The third-party tool <a rel="nofollow" class="external text" href="https://github.com/Quad4-Software/pip-rns">pip-rns</a> provides a more streamlined experience when installing Python packages from rngit remotes. It supports pip, pipx, uv, and poetry backends, version pinning, signature verification, aliases, indexes, offline bundles, and more.
</p>
<div class="mw-heading mw-heading2"><h2 id="Official_repositories">Official repositories</h2></div>
<p>Reticulum is fully self-hosted and developed on Reticulum itself.
</p>
<ul><li><a href="RNS" title="RNS">RNS</a>: <code class="rns">rns://7649a50d84610232d1416b41d2896aff/reticulum/reticulum</code>&nbsp;(<span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://github.com/markqvist/reticulum">GitHub</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/repo.mu`g=reticulum|r=reticulum Aleph Git]</span></span>)</li>
<li><a href="LXMF" title="LXMF">LXMF</a>: <code class="rns">rns://7649a50d84610232d1416b41d2896aff/reticulum/lxmf</code>&nbsp;(<span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://github.com/markqvist/lxmf">GitHub</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/repo.mu`g=reticulum|r=lxmf Aleph Git]</span></span>)</li>
<li><a href="LXST" title="LXST">LXST</a>: <code class="rns">rns://7649a50d84610232d1416b41d2896aff/reticulum/lxst</code>&nbsp;(<span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://github.com/markqvist/lxst">GitHub</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/repo.mu`g=reticulum|r=lxst Aleph Git]</span></span>)</li>
<li><a href="NomadNet" title="NomadNet">NomadNet</a>: <code class="rns">rns://7649a50d84610232d1416b41d2896aff/reticulum/nomadnet</code>&nbsp;(<span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://github.com/markqvist/nomadnet">GitHub</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/repo.mu`g=reticulum|r=nomadnet Aleph Git]</span></span>)</li>
<li><a href="Sideband" title="Sideband">Sideband</a>: <code class="rns">rns://7649a50d84610232d1416b41d2896aff/reticulum/sideband</code>&nbsp;(<span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://github.com/markqvist/sideband">GitHub</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/repo.mu`g=reticulum|r=sideband Aleph Git]</span></span>)</li>
<li><a rel="nofollow" class="external text" href="https://reticulum.network/">Website</a>: <code class="rns">rns://7649a50d84610232d1416b41d2896aff/reticulum/website</code>&nbsp;(<span class="mirror link"><span class="web"><a rel="nofollow" class="external text" href="https://github.com/markqvist/reticulum_website">GitHub</a></span><span class="nomadnet">[nomadnetwork://a8d24177d946de4f1f0a0fe1af9a1338:/page/repo.mu`g=reticulum|r=website Aleph Git]</span></span>)</li></ul>
<p><i><b>Note:</b> The GitHub repositories are mirrors that may lag behind.</i>
</p>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><i>Git Over Reticulum</i>, Manual. <span class="exclude-nomadnet"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/git.html">Web</a> / NomadNet: </span><code class="nomadnet address">a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/git.md</code></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text"><i>Verified Releases</i>, Manual. <span class="exclude-nomadnet"><a rel="nofollow" class="external text" href="https://reticulum.network/manual/git.html#verified-releases">Web</a> / NomadNet: </span><code class="nomadnet address">a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/git.md|anchor=verified-releases</code></span>
</li>
</ol></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://reticulum.network/manual/git.html">Git Over Reticulum</a> in the manual</li>
<li><a rel="nofollow" class="external text" href="https://reticulum.network/manual/distributed.html">Distributed Development</a> in the manual</li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r3053">
/* start https://reticulum.miraheze.org/ */

.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://reticulum.miraheze.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r3049">
/* start https://reticulum.miraheze.org/ */

.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox{border:1px solid #6a747f}html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox,html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox-subgroup{background-color:#050505}html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox-list{border-color:#050505}html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output tr+tr>.navbox-abovebelow,html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output tr+tr>.navbox-group,html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output tr+tr>.navbox-image,html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output tr+tr>.navbox-list{border-top:2px solid #050505}html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox-title{background-color:#00006b}html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox-abovebelow,html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox-group,html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox-subgroup .navbox-title{background-color:#00004d}html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox-subgroup .navbox-group,html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#00003b}html.skin-theme-clientpref-night:not(.client-darkmode) .mw-parser-output .navbox-even{background-color:#141414}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox{border:1px solid #6a747f}html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox,html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox-subgroup{background-color:#050505}html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox-list{border-color:#050505}html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output tr+tr>.navbox-abovebelow,html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output tr+tr>.navbox-group,html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output tr+tr>.navbox-image,html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output tr+tr>.navbox-list{border-top:2px solid #050505}html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox-title{background-color:#00006b}html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox-abovebelow,html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox-group,html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox-subgroup .navbox-title{background-color:#00004d}html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox-subgroup .navbox-group,html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#00003b}html.skin-theme-clientpref-os:not(.client-darkmode) .mw-parser-output .navbox-even{background-color:#141414}}
/* end https://reticulum.miraheze.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="RNS_utilities" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r3051">
/* start https://reticulum.miraheze.org/ */

.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}
/* end https://reticulum.miraheze.org/ */
</style><div id="RNS_utilities" style="font-size:114%;margin:0 4em"><a href="RNS" title="RNS">RNS</a> utilities</div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><code><a href="Rncp" title="Rncp">rncp</a></code></li>
<li><code><a class="mw-selflink selflink">rngit</a></code></li>
<li><code><a href="Rnid" title="Rnid">rnid</a></code></li>
<li><code>rnir</code></li>
<li><code><a href="Rnodeconf" title="Rnodeconf">rnodeconf</a></code></li>
<li><code><a href="Rnpath" title="Rnpath">rnpath</a></code></li>
<li><code>rnpkg</code></li>
<li><code><a href="Rnprobe" title="Rnprobe">rnprobe</a></code></li>
<li><code><a href="Rnsh" title="Rnsh">rnsh</a></code></li>
<li><code><a href="Rnstatus" title="Rnstatus">rnstatus</a></code></li>
<li><code><a href="Rnx" title="Rnx">rnx</a></code></li></ul>
</div></td></tr></tbody></table></div></div><div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks">Category: <ul><li><a href="Category%3AUtilities" title="Category:Utilities">Utilities</a></li></ul></div></div><!--htdig_noindex--><div><div class="zim-footer">
This page is issued from <a class="external text" title="Last edited on 2026-08-23" href="https://reticulum.miraheze.org/wiki/?title=Rngit&amp;oldid=3336">Reticulum Community Wiki</a>. The text is available under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</div>

</body></html>